Method and apparatus for centralized compliance, operations and setup of automated cutting tool machines

ABSTRACT

A system and method for cutting at least one of a plurality of features in a workpiece with at least one of a plurality of cutting tools controlled by at least one of a plurality of cutting tool machines is disclosed. The method receives process information describing cutting parameters from cutting tool machines, retrieves predicted cutting tool wear information relating a predicted cutting tool wear value to the cutting parameters, retrieves cutting tool information that include measured cutting tool wear information for the one of the plurality of cutting tools, computes a predicted cutting tool wear value for the one of the plurality of cutting tools from the measured cutting tool wear information, and cuts the at least one feature according to the computed predicted cutter wear value.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit of U.S. Provisional Patent ApplicationNo. 62/401,108, entitled “METHOD AND APPARATUS FOR CENTRALIZINGCOMPLIANCE, OPERATIONS AND SETUP FOR AUTOMATED DRILLING MACHINES(COSA),” by Richard Agudelo, filed Sep. 28, 2016, which application ishereby incorporated by reference herein.

This application is related to the following co-pending and commonlyassigned patent application(s), all of which applications areincorporated by reference herein:

Application Ser. No. 15/398,586, entitled “METHOD AND APPARATUS FORMONITORING AUTOMATED DRILLING PROCESSES,” by Richard Agudelo, filed onsame date herewith.

BACKGROUND

1. Field

The present disclosure relates to systems and methods for operatingautomated cutting tool machines, and in particular, to a system andmethod for managing such automated cutting tool machines.

2. Description of the Related Art

Automated processes are advantageous in applications having repetitiveor dangerous operations. Accordingly, some industries (notablyautomotive and aeronautical) have adopted the use of automated processesin many manufacturing operations. Among such automated processes arethose which involve automated cutting tools, such as drills (hereinafteralternatively referred to as automated drillers). Such automateddrillers include a computer or other processor that executes a numericalcontrol (NC) program that commands the driller on how to drill eachfeature (e.g. hole). Current automated processes have particulardisadvantages which must be addressed to minimize cost.

First, such automated drillers typically work independently, and arecommunicatively isolated from one another. Hence, data collected fromthe automated drillers is only available locally in the individualmachines. Further, any automated equipment used to setup tools that areused on the automated driller do not communicate with the automateddrillers, or each other, because these devices use different operatingsystems and controllers. Accordingly, it is not possible to track theusage, failure trends and current location of cutters (e.g. drills) usedin the automated driller machines.

Second, cutting tools typically wear with each use, and therefore have alimited lifetime. Automated drillers do not allow prediction of cutterusage or allow cutter usage and wear trends to be identified. Theaccurate prediction of cutter wear or usage permits “just in time”manufacturing techniques (e.g. providing just the right number ofcutters to the right automated driller when it is needed and not beforeor after) that save money, improve workplace safety, and theidentification of wear trends can identify areas where cutter use can beoptimized to reduce costs. For example, it is useful to determine howmany cutters are needed in theory and compare those numbers with howmany were actually used. If cutters are not being used to 100% of theirlife, it is advantageous to know how closely they are used to 100% oftheir life and to identify why they are not being used to 100% of theirlife.

Further, cutters are typically returned to vendors for sharpening, butafter sharpening, vendors typically provide the cutters with same serialnumber. Since the cutters have the same serial number it is difficult toidentify trends in cutter use and wear. A system that could identifycutters that have been re-sharpen would help on better understandingbehavior of these cutters and drive cost reductions.

Third, the cutting processes implemented by the automated cutters isimperfect, with some holes being burnt or drilled to dimensions that areout of specification or close to it. Even so, it is difficult toidentify which holes were burnt, which cutter was used to drill theburned hole, or to identify any trends that might shed light on why suchburnt holes are being drilled in some cases, and not others. At the sametime, the NC programs used to cut materials typically define thefeatures to be drilled in terms of workpiece (e.g. airplane)coordinates. This makes it difficult to quickly visualize the drillingprocess. What is needed is a process that permits quick visualization ofany drilling process on any airplane in the facility. However, such NCprograms are typically not maintained in the automated drillers, but ina server maintained by a team of NC programmers, and downloaded to theautomated drillers when needed.

Fourth, if action is to be taken on a cutter or automated drillingmachine, such action often requires human intervention. At the sametime, the automated drilling machines operate on rails and theirlocation is not always know. Hence, maintenance or identification offailures and failure modes is delayed and greater expense is incurred.For example, maintenance personnel may need to find the location of amachine that has presented an operational issue. Research personnel mayneed to locate a cutter that has been flagged as defective. Thedefective cutter is normally associated to an automated driller in whichthe cutter was being used.

Also, since different computer programs may be used in the automateddrillers, depending on the automated driller involved in the process.This can result in different software versions, files, and timestamps ofeach automated driller. While it is possible to implement a networksolution that involves adding new software to each machine, it isdesirable to instead allow such software to be used within the networksolution. What is needed is a way to implement a network solution thatuses existing software solutions installed on the automated drillers andelsewhere.

Fifth, for purposes of interchangeability with any production line anduniformity of machine setup, the automated drillers communicate using aninternet protocol (IP) address. That IP address may potentially be usedto identify machine locations. However, the IP address for eachautomated driller is not unique, and hence, the IP address cannot beused to track or manage each automated driller independently from theother drillers. Further, many automated drilling machines includerelated system elements that would require reconfiguration andcommunication. Changing the IP address of each of the automated drillingmachines is possible, but this would require re-configuration thecommunication between such systems. For example, such systems mayinclude a human interface (HMI) computer, camera, and associatedcontroller. Cameras allow for positioning of the machine to indexfeatures to be cut. Since such cameras are typically communicativelycoupled to other elements of the network via Ethernet, they use an IPaddress to communicate with the controller. Use of a new IP addresswould require a re-configuration of this communication interface andlong term maintainability issues.

It is desirable to have the capability to quickly and economicallymodify the parameters of the controllers of the automated drillingmachines. For example, in a drilling application, such parameters mayinclude drill spindle speed, feed rate, whether cooling or pecking areneeded.

Finally, it is also desirable to audit the software used in theautomated drilling machines. Some such machine controllers includenearly 4000 parameters that need to be tracked, and in a largemanufacturing machine (which may have nearly 100 automated drillingmachines each of which may have been reconfigured since the last audit),it is very difficult to know if all of them are running with the correctparameters or software versions. Accordingly, an apparatus and method tomonitor and modify the parameters (e.g. by writing data and/or commandsto the controller) remotely would be beneficial. This apparatus andmethod may to keep track of which entity is making the changes tomachine configuration parameters and software, and keep track ofrevisions to the process control documents (PCDs) that describe suchrevisions.

A system and method addressing the foregoing needs is described in thespecification below.

SUMMARY

To address the requirements described above, this document discloses asystem and method for cutting at least one of a plurality of features ina workpiece with at least one of a plurality of cutting tools controlledby at least one of a plurality of cutting tool machines. In oneembodiment, the method comprises receiving process informationdescribing cutting parameters for the at least one feature from the atleast one of the cutting tool machines, retrieving predicted cuttingtool wear information relating a predicted cutting tool wear value forthe one of the plurality of cutting tools to the cutting parameters,retrieving cutting tool information comprising measured cutting toolwear information for the one of the plurality of cutting tools, themeasured cutting tool wear information describing a temporally previousmeasured cutting tool wear value for the cutting tool, computing apredicted cutting tool wear value for the one of the plurality ofcutting tools from the measured cutting tool wear information, thepredicted cutting tool wear information and the cutting parameters, andcutting the at least one feature according to the computed predictedcutter wear value. Other embodiments are evidenced by means forperforming the foregoing operations including a processorcommunicatively coupled to a memory storing instructions for performingthe foregoing operations.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a diagram illustrating one embodiment of an automatedproduction system

FIG. 2 is a diagram providing additional details of the cutter toolmachines and other network elements;

FIG. 3 is a diagram presenting illustrative operations that can be usedto cut one or more features in a workpiece such as an aircraft;

FIG. 4 is a diagram illustrating operations exemplifying the cutting ofthe feature according to the computed predicted cutter wear value;

FIGS. 5A-5C are diagrams illustrating operations that can be performedafter cutting the feature;

FIG. 6 is a diagram of setup interface for a one or more kits of cuttingtools;

FIG. 7 is a diagram illustrating cutting tool parameters for aparticular cutting tool;

FIG. 8 is a diagram illustrating a user interface that can be used toretrieve information regarding any particular cutting tool;

FIG. 9 is a diagram illustrating a user interface sharing a result of asearch for a particular cutting tool;

FIGS. 10A and 10B are diagrams further user interfaces for presentingcutting tool tracking information;

FIG. 11 is a diagram illustrating illustrative operations that can beused to visualize the progress of the cutting of features;

FIG. 12 is a diagram illustrating a user interface presentation of atypical NC program, and a user interface presentation of drill mapping

FIG. 13 is a diagram illustrating another embodiment of a user interfacepresenting the drill map;

FIG. 14 presents a user interface that can be used to identify broken orprematurely worn cutting tools 114 and to analyze their failure;

FIG. 15 is a diagram presenting another user interface for viewingcutting status;

FIGS. 16A and 16B are diagrams presenting illustrative process stepsthat can be used to cutter tool machines and other elements of theautomated production system; and

FIG. 17 illustrates an exemplary computer system that could be used toimplement processing elements of the above disclosure.

DESCRIPTION

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments. It is understood that otherembodiments may be utilized and structural changes may be made withoutdeparting from the scope of the present disclosure.

Overview

The systems and methods described below permit centralized operationsfor set up and automation (COSA) of automated drilling machines usingthe existing data collection systems. Use of existing systems permitsthe system to be more inexpensive and efficient.

The system includes a secure network behind a firewall that allows datatransfers from and to specific network devices using defined networkports. A lightweight service collects the data gathered by the existingdata collection system and transfer the data where needed in a standardformat common to all machines. The service runs from a central locationand pulls the information from the automatic drilling machines. Thispulling technique reduces cost, as the software resident on the drillingmachines does not have to be modified or replaced. Further, since thecontrollers on each automated drilling machine may use differentsoftware, this solution permits easy configuration changes in order tocommunicate and retrieve data from different controllers.

In one embodiment, data is collected in a normalized format that can beaccessed at high speed with minimal errors (advantageous, because thedata collected by the machine can amount to millions of records permonth). Advantageously, the IP addresses of the machines need not bemodified in order for the system to identify the automated driller beingaudited. Instead, the equipment identification is handled on demand by acombination of file sharing, stream data transfer, file identification,file queueing, and windows remote user access. Lightweight softwaremodules are installed in the automated drilling machines that allow toauditing of the software, files and timestamps of the automated drillersusing parameters defined in a central and remote location.

In one embodiment, the system parses the NC programs installed on eachautomated drilling machine on demand to retrieve cutter wear factorsstored in the machine parameters and calculates the estimated usage andpredicted life of cutters based on theoretical stack up thicknessesand/or other parameters.

In one embodiment, the system also allows use a new process to translateairplane coordinate into a standard format that can be displayed in aweb browser without the usage of any plugin or additional software. Thetranslation of coordinates uses the mathematical technique of coordinatetranspose, transformation in conjunction with inches to pixelsconversion and div container positioning techniques in HTML and CSS.

The system offers instant and on demand visibility of automated cuttermachine locations without the need to define different IP addresses foreach machine. The system is also able to identify the locations ofmachines that use wireless to connect to the network by using theinformation from the sensors at the base of the machines.

The system can also implement new processes that allow the instantidentification of the location of a cutter in the factory at any givenmoment, offering a full trace of all transactions executed by any givencutter since the time that the cutter was setup. This also permitstracking compliance and allows for the instant identificationnon-compliant and/or potential non-conforming drilling operations andthe flagging of machine operations that are using parameters that havenot been qualified. In one embodiment, the system communicates using amachine transfer data agent (MTDA) that involves communicating through acommon language that provides the ability to write to the controllers ofthe automated drillers on a remote basis.

The foregoing systems and methods have the following advantages overother systems and solutions. In particular, although software can beinstalled on automated drilling machines to collect and transfer dataover a network, such as those complying with MTCONNECT, such systemscause interference with subsystems such as those that control cameras,and also disrupt communications between the automated drilling machinecontrollers and the human machine interface computers from time to time.Further, such interfaces provide limited data collection and wrapcollected data in an XML format, which is not well suited to the largeamounts of data needed to manage and monitor a large network ofautomated drilling machines. Such systems also use telnet to transferdata which is not an ideal protocol for this application. Such systemsalso require that each element of the network (including each automateddrilling machine) be associated with an IP address, so that each suchdevice in the network can be identified. This would require that each IPaddress of each machine in the network would need to be reconfigured.

With respect to the visualization of the drilling processes planned, inprocess or completed, plugins are available to visualize engineeringdrawings. However, such plugins (including 3DVIA and CATIA COMPOSER)require drawing to be stored in the CNC equipment, while the informationin current systems is resident in the NC programs implemented by theautomated drilling machines, and such data is in airplane coordinates,which are visually unhelpful.

Finally, existing software auditing programs such as ASPERA is notcapable of auditing files in different formats, driver versions, andtime stamps in addition to installable software packages. The machinesare used in the production of airplanes and adding heavy softwarepackages may impact the operation of the machines unexpectedly, and therisks (e.g. interruption of production) of adding large softwarepackages with many features and networking capabilities is unacceptablyhigh.

Automated Production System

FIG. 1 is a diagram illustrating one embodiment of an automatedproduction system 100. The system comprises a network 102 of devicesthat include cutting tool machines automated drilling machines 104A-104J(hereinafter alternatively referred to as cutting tool machines (CTMs)104), and cutter set up machines 106A-106B (hereinafter CSMs 106). EachCTM 104 is associated with one or more cutting tools 114, which are usedto cut one or more features 118 in one or more workpieces 116. The CTMs104 and cutter set up machines 106 are communicatively coupled to aserver 110 via a communications interface 108. The server 110 maycomprise a SQL server, for example. The server 110 is communicativelycoupled to one or more processing devices 112A-112E (alternativelyreferred to hereinafter as processing devices 112) that provide commandsand receive data from the server 110. Such processing devices 112 mayinclude computers having direct read only connections to the database 10using SQL tools such as SQL MANAGEMENT STUDIO, dedicated servers hostingapplications to interface with the server 110 or tier threeapplications, or applications on cloud servers.

FIG. 2 is a diagram providing additional details of the CTMs 104 andother network 100 elements. Each CTM 104 comprises a computer numericalcontrol (CNC) system 212 that responds to programmed commands stored ina storage medium (a computer command module, located in the ADS 104) tocut features in the workpiece, and a human machine interface (HMI) 202used to manage the CNC system 212. The HMI 202 may comprise, for examplea computer running an operating system such as WINDOWS or IOS.

The CNC system 212 provides cutting tool machine 104 activityinformation to an electro impact (EI) data collection system (DCS) 212of the HMI 202. The cutting tool activity information includes, forexample, what operations the CTM 104 has performed or will perform(according to the NC program implemented on the CTM 104) with whichcutting tools 114 and at which time. For example, in one embodiment, theactivity information collected by the DCS 212 includes an identifier ofeach hole drilled, along with associated information such as thecoordinates of the hole, drill speed, a feed rate, drill duration usedto drill the hole. The activity information may also include whethercoolant was used to drill the hole, which drill bit was used (which mayinclude an identifier of the drill bit itself) to drill it, and whensuch drilling began and was completed. The activity information may alsoinclude information collected after drilling, for example, whether thedrilled hole was probed for measurements, and if so, the measureddimensions and coordinates of the drilled hole.

The CNC system 212 also provides machine status information to a machinetool data agent (MTDA) of the HMI 202. Machine status information isused to determine overall equipment effectiveness (OEE), and includes,for example, on/off status, recording of machine events such as pause,freehold, jogging, drilling, error status, stop, and emergency step.Such events can be used to analyze the efficiency and downtime of thecutting tool machine 104. The machine status information comprises, forexample, measured cutting tool 114 wear. This cutting tool machinestatus information is provided to the database 216 for storage.

The HMI 202 also comprises a system auditor 206, which checks thesoftware installed on the CTM 102 and records any discrepancies in adatabase 216. The database 216 is managed via applications 218 executedby the processing device 112. Such applications can retrieve and processdata stored in database 110 or remote database 220 to maintain versioncontrol of the NC programs by providing a secure repository, and storethe result in databases 110, 220. Such applications 218 includeapplications for generating quality reports and or a specific COSAapplication for implementing the operations discussed further below.

As described further below, a data center 216 module comprising amachine data extraction (MDE) module 214 pulls machine activityinformation from the EI/DCS 208. This can be accomplished, for example,via a operating system service that fetches data from EI/DCS 208 files.The pulling of cutting tool machine activity information implemented bythe MDE module 214 permits the network 100 to retrieve information froma wide variety of NC applications and types implemented on the CTMs 102.

FIG. 3 is a diagram presenting illustrative operations that can be usedto cut one or more features in a workpiece 116. In block 302, processinformation describing cutting parameters for cutting the one or morefeatures 118 in the workpiece 116 is retrieved from the CTM 102 that iscutting the workpiece 116. In one embodiment, this is accomplished bythe MDE module 214 pulling NC program that describes the cuttingparameters from the CNC system 212. The NC program is thereafter parsedto extract the cutting parameters for the feature 118 to be cut in theworkpiece 116.

The cutting parameters describe the feature 118 to be cut and thecutting tool 114 operations required to cut the feature 118. Forexample, in one embodiment, the cutting parameters comprise featureinformation such as the location of the feature 118 in the workpiece116, the composition of the workpiece 116 at the location of the feature118 to be cut, and a dimension of the feature 118 to be cut in theworkpiece 116. The cutting tool operation information includes any oneor all of the cutting tool 114 dimension(s), cutting tool 114 materialcomposition, cutting tool 114 speed, cutting tool 114 force (to beapplied to the workpiece 116 by the cutting tool 114), whether coolantis to be used in the operation of the cutting tool 114, and if so, whatcoolant.

As further described below, the cutting tool information may alsocomprise cutting tool tracking information. In one embodiment, thecutting tool tracking information comprises an identifier of the cuttingtool (which may be used as a surrogate for the cutting tool dimensionsand material composition), the physical location of the cutting tool114, an identifier of each feature cut by the cutting tool up to thecurrent time, and an identifier of the process information (e.g. NCprogram) used to cut each of the features that were cut by the cuttingtool 114.

In block 304, predicted cutting tool wear information is retrieved. Thepredicted cutting tool wear information relates the cutting parametersto predicted cutting tool wear values. The predicted cutting toolinformation is used to predict the cutting tool 114 wear and isdiscussed further below.

In block 306, cutting tool information is retrieved. The cutting toolinformation comprises measured cutting tool wear information for thecutting tool 114 to be used to cut the feature 118 in the workpiece 116,and includes cutting tool wear information describing temporallyprevious cutting tool wear value for the cutting tool 114. For example,in one embodiment, the cutting tool information comprises the mostrecently wear of the cutting tool 114 that will be used to cut thefeature. In one embodiment, the cutting tool wear information isobtained from database 110, which received the information from the MTDA210.

In block 308, a predicted cutting tool wear value for the cutting toolis computed from the measured cutting tool wear information, thepredicted cutting tool wear information, and the cutting parameters. Thepredicted cutting tool wear value is a prediction of the cutting toolwear that will result after the cutting tool 114 cuts the feature 118described in the cutting parameters. In block 310, the feature 118 iscut according to the computed predicted cutter wear value.

FIG. 4 is a diagram illustrating operations exemplifying the cutting ofthe feature 118 according to the computed predicted cutter wear value.Block 402 compares the predicted cutter wear value to a threshold wearvalue. Block 404 selects another one of the plurality of cutting tools114 for cutting the feature 118 according to the comparison. Forexample, in one embodiment, if the predicted cutter wear value indicatesthat the cutting tool 114 wear will be greater than the thresholdpermitted wear upon completion of the cutting of the feature 118 usingthe current cutting tool 114, the CTM 104A will select another one ofthe cutting tools 114. However, if the predicted cutter wear value issuch that the cutting tool 114 wear is less than the threshold maximumpermitted wear, the same cutting tool 114 will be used to cut thefeature. Other actions are possible, for example, in response toincreased wear of the cutting tool, the cutting tool may be used to cutdifferent features in the workpiece, or a different NC program thataccounts for the increased wear may be used to cut the feature.

FIGS. 5A-5C are diagrams illustrating operations that can be performedafter cutting the feature. Turning first to FIG. 5A, block 502 measuresthe wear of the cutting tool 114 after cutting the feature 118. This canbe accomplished, for example, the CNC system 212, and the resulting dataprovided to the database 110 via the MTDA 210. In block 504, themeasured wear of the cutting tool 114 after cutting the feature 118 isused to update the measured cutting tool wear information of the cuttingtool 114. For example, the measured cutting tool wear information isupdated to reflect that the cutting tool has worn an additional amountbecause of the cutting operation just completed. This information isstored in database 216 for later use when another feature 118 is to becut with the same cutting tool 114.

In FIG. 5B, block 506 measures the wear of the cutting tool 114 aftercutting the feature 118. Block 508 updates the predicted cutting toolwear information that relates the predicted cutting tool wear to thecutting parameters according to the measured cutting tool 114 wear. Forexample, in one embodiment, the predicted cutting tool wear can becompared to the measured cutting tool wear information, and used todetermine whether updates to the predicted cutting tool wear informationneed be made for greater accuracy. Parametric models can be used to usethe measured cutting tool wear information to improve the predictedcutting tool wear information on a continuing basis. Further, if themeasured cutting tool wear deviates substantially from the predictedcutting tool wear, the system may flag the user to investigate thecause.

Turning next to FIG. 5C, block 510 measures the wear of the cutting tool114. Block 512 updates the cutting parameters according to the measuredcutting tool 114 wear. In one example, changes may be made in the speedof the cutting tool, whether coolant is used with the cutting tool whenin use, or the cutting tool 114 may be reassigned to cut differentfeatures 118 in the workpiece 116. For example, if cutting one feature118 is predicted to consume 20% of the remaining life of the cuttingtool 114, and the cutting tool wear is 85% of maximum life, the cuttingtool 114 may be reassigned to cut a different feature that is predictedto consume only 15% of the remaining life of the cutting tool 114. Thisallows the cutting tools 114 to be used closer to their maximum life,thus reducing waste.

Cutting Tool Tracking

One of the key advantages of the automated production system 100 is thatit permits detailed tracking of the cutting of the features 118 and thecutting tools 114, CTMs 104 and the CSMs 106 used to cut the features118. The CSMs 106 are used to set up the cutting tools 114 and CTMs 104.In the past, set up was a paper process, and the progress of set upoperations was tracked using individuals entering information on spreadsheets. In using the automated production system 100, cutting tool setup parameters are entered directly into the HIM 202 associated with theCTMs 104 and CSMs 106.

FIG. 6 is a diagram of setup interface 600 for a one or more kits ofcutting tools 114 (e.g. tool kits) for operations to be performed on aworkpiece 116 comprising an forward section of an aircraft. This setupinterface 600 may be presented, for example, on an HRM 202 associatedwith the CTM 104 of the CSM 106. Column 602 lists an identifying numberfor each kit. Column 604 lists the cutting tool type, while column 606presents the cutting dimension (e.g. diameter) of the cutting tool 114.Column 608 lists the serial number associated with the cutting tool 114,and column 610 indicates the date that the cutting tool 114 was set up.Column 612 indicates the initial tool life (e.g. how much the tool wasworn) when the set up was performed, and column 614 indicates thecurrent tool life. Column 616 indicates an identifier of the individualthat added set up the cutting tool 114 and entered the information intothe interface 600 for storage in the database 110. Column 618 indicatesthe serial number of the paper tag attached to the tool for easy visualidentification.

FIG. 7 is a diagram illustrating cutting tool parameters 706 for aparticular cutting tool 114. The parameters include, for example, aserial number 706 of the cutting tool 114, an identifier 706B of the CSM106 used to set up the cutting tool 114, the cutting tool type 706C,date 706D that the cutting tool 114 was set up, the holder 706E used tosecure the cutting tool 114 into the CTM 104, the tool ID 706F,dimensions of the cutting tool 706G-706P, cutting tool life remaining706Q and the type 706 of CSM 106 used to set up the cutting tool 114.Items 708-712 illustrate setup carts and Parlec IDs, including thoseassociated with a setup not yet used.

FIG. 8 is a diagram illustrating a user interface 800 that can be usedto retrieve information regarding any particular cutting tool 114.Portion 802 can be used to search for a cutting tool 114 by cutting toolserial number. Portion 804 can be used to search for a cutting tool byan identifier of the CSM 106 used to set up the cutting tool 114.Portion 806 can be used to identify the last cutter used on anyparticular one of the CTMs 104.

FIG. 9 is a diagram illustrating a user interface 900 sharing a resultof a search for a particular cutting tool 114. In this instance, asearch was performed using user interface 800 for information regardingcutting tool serial number 285. The information provided includes(reading from left right), the date that the cutting tool 114 was usedto cut the particular feature 118, the workpiece (airplane or ship) inwhich the feature 118 was cut by the cutting tool 114, an identifier ofthe feature (or hole) the cutting tool was used to cut in the airplane,the expected or actual stackup (material thickness) of the workpiece 116in the location of the feature 118, the cutting tool life, the maximumthrust that was used to direct the cutting tool into the airplanesurface, an identifier of the process that was performed by the cuttingtool 114, the current measured diameter of the cutting tool, the NCprogram used to cut the feature using the cutting tool, and the CTM 104used to cut the feature.

FIGS. 10A and 10B are diagrams further user interfaces 1000A and 1000Bfor presenting cutting tool tracking information. In FIG. 10A, the userhas entered a cutting tool number into user interface 1000A and ispresented with the total number of uses of the cutting tool (or cuttingtool type) on a plurality of airplanes. Each of the horizontal barsrepresents a different airplane, and the length of the bar represents tototal number of times the cutting tool 114 was used on each respectiveairplane. This data permits the user to note situations where aparticular cutting tool 114 or cutting tool type was used fewer times ona particular airplane than other airplanes, thus allowing the user todetect anomalous behavior. FIG. 10B is a diagram of a user interface1000B showing analogous results. This result indicates which type ofcutting tools 114 were used on a particular aircraft, and how many ofsuch cutting tools 114 were used.

Drill Mapping

FIG. 11 is a diagram illustrating illustrative operations that can beused to visualize the progress of the cutting of features 118. Block1102 receives process information describing the cutting parameters forthe plurality of features from the plurality of cutting machines. In oneembodiment, this is accomplished by the data pull module 214 pulling theNC program from the CNC system 212 via the EI/DCS 208.

FIG. 12 is a diagram illustrating a user interface 1200A presentation ofa typical NC program, and a user interface 1200B presentation of drillmapping. As shown in user interface 1200A, the NC program comprises aplurality of instructions which define which features 118 are to be cutby which cutting tools 114 and how such cutting is to be accomplished.The data pull module 214 pulls these instructions from the CNC system212 via the EI/DCS 208.

In block 1104, the process information is parsed to extract the cuttingparameters. The cutting parameters may include, for each of theplurality of features to be cut, a feature ID, the feature location, anda cutting tool ID associated with the cutting tool 114 that the NCprogram has scheduled to cut the feature 118. In block 1106, each thelocation of each feature 118 (obtained from the parsing operation ofblock 1104) is transformed from a three dimensional space to a twodimensional space.

Next, in block 1108, while the plurality of features is being cut in theworkpiece 116, a call is initiated to retrieve cutting tool 114 trackinginformation from each CTM 104 for each cutting tool 114 that the NCprogram(s) retrieved in block 1102 have scheduled to cut features 118 inthe aircraft. This call may be initiated after each feature 108 isscheduled to be cut, can be periodically scheduled, or can beaperiodically and asynchronously scheduled. The cutting tool trackinginformation comprises, for example, a cutting tool ID, and the featureID for each feature cut by the cutting tool 114.

In block 1110, each of the plurality of features is correlated with thecurrent cutting status of each feature using the feature ID and thecutting tool ID. Hence, if the NC program is parsed and it identifiesthat feature A is to be cut with cutting tool X, feature A is correlatedwith cutting tool X and the current cutting status of cutting tool X isexamined to determine whether the cutting tool is schedule to cut thefeature, is in the process of cutting the feature, or has already cutthe feature. In block 1112, the cutting status associated with eachfeature 118 is provided at the coordinate transformed location of eachfeature 118 for presentation in the two dimensional space. Cuttingstatus may include, for example, whether the feature is currently beingcut, whether the feature has been previously cut, and whether thefeature is uncut. The cutting status may also include whether thecutting of the feature incurred an error, and whether the cut wascompleted or not despite the error.

The cutting status in a two dimensional space can be presented in a twodimensional space using hypertext markup language (HTML) techniques.This can be accomplished by extracting each of the feature 118 locationsin three dimensional (x, y, z) coordinate, and coordinate transformingeach of the three dimensional feature locations into the two dimensionalspace having an x (horizontal) and y (vertical) direction. Then, thecutting status is provided for display by determining a minimum value ofthe x direction of the two dimensional space and a y direction of thetwo dimensional space. This can be determined, for example, by theminimum value of the feature locations in the two dimensional space.Similarly, a maximum value of the x direction of the two dimensionalspace and a maximum value of the y direction of the two dimensionalspace may be determined from the maximum value of the feature locationin two dimensional space. A scale factor is then computed. The scalefactor is based on the dimensions (in the horizontal and verticaldirection) of the window in which the drill map 1202 is to be presentedand the minimum and maximum values of the x and y directions computedabove. Then, the feature location (in 2D coordinates is scaled accordingto the scale factor. The resulting data is provided for display.

FIG. 12 also illustrates user interface 1200B. The user interface 1200Bincludes a drill map 1202 in a two dimensional space in which thefeature 118 locations have been mapped in x and y coordinates. Featureswhich have yet to be cut are indicated by an “x,” 1204 while featureswhich have been cut are indicated by a “o” 1206 Those features whichhave been cut may be further delimited according to whether the feature118 was properly cut. For example, if the feature 118 was cut withouterrors (and/or measured to be the proper dimension), the “o” 1206associated with the feature may be colored green, but if the feature 118was cut with errors (or does not measure to specification), the “o” 1206presented in the two dimensional drill map 1202 may be colored red.

FIG. 13 is a diagram illustrating another embodiment of a user interface1300 presenting the drill map 1202. In this embodiment, a drill map 1202is presented for 256 holes to be drilled by a particular NC program. Asubset of the features 118 that were cut have been probed to determineif the resulting feature 118 is within tolerances. In this embodiment,each depiction on the drill map 1202 that represents includes thefeature ID. Features that were not probed to determine their dimensionare indicated in table 1302 and illustrated by delimiter 1308, andfeatures that were probed and were out of tolerance are listed in table1304 and illustrated by delimiters 1306A and 1306B.

Control 1208 may be used to search for the progress of any particularfeature 118, by feature ID. Upon selection, that feature 118 may behighlighted on the drill map 1202. The drill map 1202 in FIG. 12 maydepict the progress of the cutting of features 118 by a single CTM 104,all CTMs 104, or any subset thereof. Further, the cutting of the all ofthe features 118 scheduled to be cut by the CTM 104 (or CTM 104 group)may be illustrated by progress indicator 1210, which indicates whatfraction or percentage of the features 118 scheduled by the NCprogram(s) to be cut have been completed (by region 1212) and whatpercentage of features 118 remain uncut (by region 1214).

Further, portion 1216 presents a list of cutting tool 114 types and howmuch of those cutting tools are expected to be used in the cutting ofthe features 114 depicted in the drill map 1202. Predicted cutting toolusage can be determined by retrieving the predicted cutting tool wearinformation that relates the predicted cutting tool wear value for thecutting tools to the cutting parameters. Further, cutting toolinformation is retrieved. The cutting tool information comprises cuttingtool wear information for each of the cutting tools 114 being used tocut the features 118 depicted in the drill map 1202. Such cutting toolwear information describes the current wear status of the cutting tool114, which may be determined as a sum of the wear caused by each cuttertool 114 use. Using the measured cutting tool wear information, thepredicted cutter tool wear information, and the cutting parameters foreach cutting tool, a predicted cutting tool wear value is computed foreach of the cutting tools depicted in the drill map 1202. The predictedcutting tool wear value is then used to compute the predicted cuttingtool usage shown in portion 1216.

Portion 1218 indicates the actual wear of cutting tools 114 by cuttingtool type. The actual wear is determined by measuring the wear of eachof the cutting tools depicted in the drill map 1202 after each suchcutting tool 114 has cut a feature 118. This information is used toupdate the measured cutting tool wear information of each cutting tool(stored in database 110), which is presented in portion 1218.

Cutting Status

Other information can also be retrieved by the data pull module 214 andused to determine the status of the CTM 194 operations. For example,cutting tools 114 break and wear prematurely. If the locations wheresuch breakage or premature wear are easily identified, the problem maybe resolved by providing new cutting tools 114 or sharpening usedcutting tools 114.

FIG. 14 presents a user interface 1400 that can be used to identifybroken or prematurely worn cutting tools 114 and to analyze theirfailure. In the illustrated embodiment, the user interface 1400 includesa plot 1402 depicting the cutting operation (for example thrust rateversus feed rate) and a table describing relevant cutting tool 114parameters and cutting parameters for a particular cutting tool 114. Theautomated production system 100 also allows the investigation of errorsin the drilling process, and to identify airplanes that may be affectedby the errors.

FIG. 15 is a diagram presenting another user interface 1500 for viewingcutting status. A representation of the aircraft is presented, and thecutting status for each portion of the aircraft is indicated. In theillustrated example, the aircraft includes a forward left, forwardright, side left, side right, aft left and aft right portions. Thecutting status for each portion (in terms of percent completion) isindicated, along with an indication of the NC program commanding thecutting process. This data can also be presented in more summary formfor more than one aircraft on more than one assembly line.

Version Control

Another advantage of the automated production system is the ability totrack a large number of machine parameters and software versions toensure that all machines are running in synchrony as per process controldocument (PCD) and version description document (VDD) descriptions.Information can be read from the CTMs 104 and CSMs 106B (e.g. CTM memoryvalues that store the version information of running software and valuesof machine parameters) into the database 110 and compared to expectedvalues in the latest version of the PCDs and VDDs to perform an audit ofthe installed software. If any particular CTM 104 of CSM 106 isoperating with software that is out of date or unapproved, the auditwill generate a message to the user highlighting the inconsistency, theCTM 104 or CSM 106 having the out of date software, and optionally, thelocation of the CTM 104 or CSM 106. In an optional embodiment, theautomated production system 100 may provide the latest software versionsto the CTM 104, CSM 106, or other system element and commandinstallation of those updated software versions.

Machine and Cutter Tool Location

As described above, it is advantageous to be able to ascertain the CTMs104 and cutter tools 114 at any point in time. This is especiallyimportant in large factories (typical with aircraft), as the distancesbetween CTMs 104 are often significant, and involve ascending anddescending stairs. The automated production system 100 also allows theinstant identification of the location of a cutting tool 114 or CTM 104in the factory at any given moment, offering a full trace of alltransactions executed by any given cutting tool since the time that thecutting tool was setup. This also permits tracking compliance and allowsfor the instant identification non-compliant and/or potentialnon-conforming drilling operations and the flagging of CTMs 104 that areusing parameters that have not been qualified.

FIGS. 16A and 16B are diagrams presenting illustrative process stepsthat can be used to CTMs 104 and other elements of the automatedproduction system 100. Such CTMs 104 and other elements include wiredCTMs 104 and wireless CTMs 104. FIG. 16A describes how wired CTMs 104and other elements of the automated production system 100 may belocated. In block 1602, a file is created to identify each wired CTM 104individually. In block 1606, the file location just created isconfigured as a shared file. The location of the shared file is the samefor all machines in the automated production network 100 sought to belocated, including the CTMs 104. In block 1606, static IP addresses areassigned to the Ethernet ports that are used to connected the CTMs 104to the automated production network 100. In block 1610, an operatingsystem service is set up at an external server that loops through all ofthe Ethernet IP addresses, looking for machines. In block 1608, theshared folder associated with the found IP addresses is accessed to findthe CTM 104 identifier number. The machine location is determined fromthe unique machine identifier and displayed on a map.

FIG. 16B is a diagram describing how wireless CTMs 104 and othermachines may be located. The CTMs 104 roll to different positions onrails. In block 1612, a sensor is placed in the CTMs 104 to identify therail ID and adjust offset parameters accordingly. This determines thelocation of the wireless CTM 104. In block 1614, the information of therail sensor ID is stored in a memory of the CNC 212. In block 1616, thevalue of the rail sensor ID is read from the CNC memory and transferredto the database 110. In block 1618, the sensor IDs are correlated to therail IDs, and hence, the rail locations of the CNC 212. In block 1620,the CTM 104 locations are displayed on a map.

Hardware Environment

FIG. 17 illustrates an exemplary computer system 1700 that could be usedto implement processing elements of the above disclosure, including theCTMs 104, CSMs 106, processing devices 112, database 110, and interface108. The computer 1702 comprises a processor 1704 and a memory, such asrandom access memory (RAM) 1706. The computer 1702 is operativelycoupled to a display 1722, which presents images such as windows to theuser on a graphical user interface 1718B. The computer 1702 may becoupled to other devices, such as a keyboard 1714, a mouse device 1716,a printer, etc. Of course, those skilled in the art will recognize thatany combination of the above components, or any number of differentcomponents, peripherals, and other devices, may be used with thecomputer 1702.

Generally, the computer 1702 operates under control of an operatingsystem 1708 stored in the memory 1706, and interfaces with the user toaccept inputs and commands and to present results through a graphicaluser interface (GUI) module 1718A. Although the GUI module 1718B isdepicted as a separate module, the instructions performing the GUIfunctions can be resident or distributed in the operating system 1708,the computer program 1710, or implemented with special purpose memoryand processors. The computer 1702 also implements a compiler 1712 whichallows an application program 1710 written in a programming languagesuch as COBOL, C++, FORTRAN, or other language to be translated intoprocessor 1704 readable code. After completion, the application 1710accesses and manipulates data stored in the memory 1706 of the computer1702 using the relationships and logic that was generated using thecompiler 1712. The computer 1702 also optionally comprises an externalcommunication device such as a modem, satellite link, Ethernet card, orother device for communicating with other computers.

In one embodiment, instructions implementing the operating system 1708,the computer program 1710, and the compiler 1712 are tangibly embodiedin a computer-readable medium, e.g., data storage device 1720, whichcould include one or more fixed or removable data storage devices, suchas a zip drive, floppy disc drive 1724, hard drive, CD-ROM drive, tapedrive, etc. Further, the operating system 1708 and the computer program1710 are comprised of instructions which, when read and executed by thecomputer 1702, causes the computer 1702 to perform the operations hereindescribed. Computer program 1710 and/or operating instructions may alsobe tangibly embodied in memory 1706 and/or data communications devices1730, thereby making a computer program product or article ofmanufacture. As such, the terms “article of manufacture,” “programstorage device” and “computer program product” as used herein areintended to encompass a computer program accessible from any computerreadable device or media.

Those skilled in the art will recognize many modifications may be madeto this configuration without departing from the scope of the presentdisclosure. For example, those skilled in the art will recognize thatany combination of the above components, or any number of differentcomponents, peripherals, and other devices, may be used.

CONCLUSION

This concludes the description of the preferred embodiments of thepresent disclosure.

The foregoing description of the preferred embodiment has been presentedfor the purposes of illustration and description. It is not intended tobe exhaustive or to limit the disclosure to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. It is intended that the scope of rights be limited not by thisdetailed description, but rather by the claims appended hereto.

What is claimed is:
 1. A method of cutting at least one of a pluralityof features in a workpiece with at least one of a plurality of cuttingtools controlled by at least one of a plurality of cutting toolmachines, comprising: receiving process information describing cuttingparameters for the at least one feature from the at least one of thecutting tool machines; retrieving predicted cutting tool wearinformation relating a predicted cutting tool wear value for the one ofthe plurality of cutting tools to the cutting parameters; retrievingcutting tool information comprising measured cutting tool wearinformation for the one of the plurality of cutting tools, the measuredcutting tool wear information describing a temporally previous measuredcutting tool wear value for the cutting tool, wherein the cutting toolinformation further comprises cutting tool tracking information, thecutting tool tracking information comprising: an identifier of thecutting tool; a physical location of the cutting tool; an identifier ofeach feature cut by the cutting tool including the at least one of theplurality of features; and an identifier of the process informationdescribing the cutting parameters used to cut each feature cut by thecutting tool including the at least one of the plurality of features:computing a predicted cutting tool wear value for the one of theplurality of cutting tools from the measured cutting tool wearinformation, the predicted cutting tool wear information and the cuttingparameters; and cutting the at least one feature according to thecomputed predicted cutter wear value.
 2. The method of claim 1, whereincutting the at least one feature according to the computed predictedcutter wear comprises: comparing the predicted cutting tool wear valueto a threshold wear value; and selecting another one of the plurality ofcutting tools for cutting the feature according to the comparison. 3.The method of claim 2, further comprising: measuring wear of the cuttingtool after cutting the at least one feature; and updating the measuredcutting tool wear information of the cutting tool according to themeasured wear of the cutting tool after cutting the at least onefeature.
 4. The method of claim 2, further comprising: measuring wear ofthe cutting tool after cutting the at least one feature; and updatingthe predicted cutting tool wear information relating predicted cuttingtool wear to the cutting parameters according to the measured cuttingtool wear.
 5. The method of claim 2, further comprising: measuring wearof the cutting tool after cutting the at least one feature; and updatingthe cutting parameters according to the measured cutting tool wear. 6.The method of claim 5, wherein the cutting parameters for the at leastone feature comprises: feature information, comprising: a location ofthe at least one feature in the workpiece a composition of the workpieceat the location of the at least one feature; and a dimension of the atleast one feature in the workpiece; cutting tool operation information,comprising: a cutting tool dimension; cutting tool material composition;cutting tool speed; cutting tool force; and cutting tool coolant.
 7. Themethod of claim 1, wherein: the process information comprises anumerical control program for controlling the at least one of theplurality of cutting machines; the method further comprises: pulling thenumerical control information describing the cutting parameters for theat least one feature; and parsing the numerical control program toextract the cutting parameters for the at least one feature.
 8. Themethod of claim 1, wherein cutting the at least one feature according tothe computed predicted cutter wear value comprises: cutting the at leastone feature according to second process information that accounts forthe predicted cutting tool wear value for the one of the plurality ofcutting tools.
 9. An apparatus for cutting at least one of a pluralityof features in a workpiece with at least one of a plurality of cuttingtools controlled by at least one of a plurality of cutting toolmachines, comprising: a processor, communicatively coupled to a memorystoring instructions comprising instructions for: receiving processinformation describing cutting parameters for the at least one featurefrom the at least one of the cutting tool machines; retrieving predictedcutting tool wear information relating a predicted cutting tool wearvalue for the one of the plurality of cutting tools to the cuttingparameters; retrieving cutting tool information comprising measuredcutting tool wear information for the one of the plurality of cuttingtools, the measured cutting tool wear information describing atemporally previous measured cutting tool wear value for the cuttingtool wherein the cutting tool information further comprises cutting tooltracking information, the cutting tool tracking information comprising:identifier of the cutting tool; physical location of the cutting tool;an identifier of each feature cut by the cutting tool including the atleast one of the plurality of features; and an identifier of the processinformation describing the cutting parameters used to cut each featurecut by the cutting tool including the at least one of the plurality offeatures; computing a predicted cutting tool wear value for the one ofthe plurality of cutting tools from the measured cutting tool wearinformation, the predicted cutting tool wear information and the cuttingparameters; and cutting the at least one feature according to thecomputed predicted cutter wear value.
 10. The apparatus of claim 9,wherein the instructions for cutting the at least one feature accordingto the computed predicted cutter wear comprise instructions for:comparing the predicted cutting tool wear value to a threshold wearvalue; and selecting another one of the plurality of cutting tools forcutting the feature according to the comparison.
 11. The apparatus ofclaim 10, wherein the instructions further comprise instructions for:measuring wear of the cutting tool after cutting the at least onefeature; and updating the measured cutting tool wear information of thecutting tool according to the measured wear of the cutting tool aftercutting the at least one feature.
 12. The apparatus of claim 10, whereinthe instructions further comprise instructions for: measuring wear ofthe cutting tool after cutting the at least one feature; and updatingthe predicted cutting tool wear information relating predicted cuttingtool wear to the cutting parameters according to the measured cuttingtool wear.
 13. The apparatus of claim 10, wherein the instructionsfurther comprise instructions for: measuring wear of the cutting toolafter cutting the at least one feature; and updating the cuttingparameters according to the measured cutting tool wear.
 14. Theapparatus of claim 9, wherein: the process information comprises anumerical control program for controlling the at least one of theplurality of cutting machines; the instructions further compriseinstructions for: pulling the numerical control information describingthe cutting parameters for the at least one feature; and parsing thenumerical control program to extract the cutting parameters for the atleast one feature.
 15. The apparatus of claim 9, wherein the cuttingparameters for the at least one feature comprises: feature information,comprising: a location of the at least one feature in the workpiece; acomposition of the workpiece at the location of the at least onefeature; and a dimension of the at least one feature in the workpiece;cutting tool operation information, comprising: a cutting tooldimension; cutting tool material composition; cutting tool speed;cutting tool force; and cutting tool coolant.
 16. An apparatus forcutting at least one of a plurality of features in a workpiece with atleast one of a plurality of cutting tools controlled by at least one ofa plurality of cutting tool machines, comprising: means for receivingprocess information describing cutting parameters for the at least onefeature from the at least one of the cutting tool machines; means forretrieving predicted cutting tool wear information relating a predictedcutting tool wear value for the one of the plurality of cutting tools tothe cutting parameters; means for retrieving cutting tool informationcomprising measured cutting tool wear information for the one of theplurality of cutting tools, the measured cutting tool wear informationdescribing a temporally previous measured cutting tool wear value forthe cutting tool wherein the cutting tool information further comprisescutting tool tracking information, the cutting tool tracking informationcomprising: identifier of the cutting tool; physical location of thecutting tool; an identifier of each feature cut by the cutting toolincluding the at least one of the plurality of features; and anidentifier of the process information describing the cutting parametersused to cut each feature cut by the cutting tool including the at leastone of the plurality of features: means for computing a predictedcutting tool wear value for the one of the plurality of cutting toolsfrom the measured cutting tool wear information, the predicted cuttingtool wear information and the cutting parameters; and means for cuttingthe at least one feature according to the computed predicted cutter wearvalue.
 17. The apparatus of claim 16, wherein the means for cutting theat least one feature according to the computed predicted cutter wearcomprises: means for comparing the predicted cutting tool wear value toa threshold wear value; and means for selecting another one of theplurality of cutting tools for cutting the feature according to thecomparison.
 18. The apparatus of claim 17, further comprising: means formeasuring wear of the cutting tool after cutting the at least onefeature; and means for updating the measured cutting tool wearinformation of the cutting tool according to the measured wear of thecutting tool after cutting the at least one feature.
 19. The apparatusof claim 17, further comprising: means for measuring wear of the cuttingtool after cutting the at least one feature; and means for updating thepredicted cutting tool wear information relating predicted cutting toolwear to the cutting parameters according to the measured cutting toolwear.